%%%%%%%%%@@@##%#*********+++++*+===##%%%@@%%%%%%#%%#*###%%%%%%%%%%%%%
%%%%%%%%@@@@@#*********++==+***===-==*#*%%%%#%##*#***#%%####%%%%%%%%%
#%%%%%%###**+#*******++=+++*+=========+%@@%%%###*+**#%%%%%%%###%%%%%%
*********++***#**+++**+++++===========#*##*#%%%%##*####%%%%%%%%###%%%
****#+=*%%%@@%*+**+++=====-----=====*%%%%#*+#%%%###%######%%%%%%%%%#%
**%%%#*+*%@@@%+===------------===+#%%##*+*##%%%%%####%####%#%%%@@@@%%
*###*#####*+*=---------=-=====+*#%%**#*++++*%%%%%%#####%%##%%%%%@@@@@
#+**+***#*==*==========++++***#%%%%#%###******#%%%*#####%%#%%%%%@@@@@
#**#**%%*=-======++++*******###%#####%%%##%%%#####+*#####%%%#%%%%@@@@
#%%#%%**#*===++++*+******#*******####%%#%%%%%%*#****####%%%#*###%@@@@
%#%#%*+*+=+++++*#****************###%%%%#%%#%%#****%%%########%%@@@@@
*###*++++++*****##*#**##*****+++*###########%%%#*#########**###@@@@%%
+++===+++****+++*+***********+*****#####%%%%%%%%%####%%###+===+*#%@%%
=====+*************###########***###*###%%%%%%%%%%%%%%%%%%%##+====+*%
==+****####*****#############%#######*#########%%%%%%%%%%%%%#**+====+
**###############%%%%%%%##%%%%%%%%%%%%%%#######################**+==+
###########%%%%%%%#%%%%%###%%%%%##%%%%%%%%%%%%%%%%%######*****####+=+
%########%%%%%%%%%%%%%%%%###%%%%%%%%%%%%%%%%%%%%%%%%%#####*********##
###%%%%%%%%%%%%%%%%%%%%%%#####%%%#####################***#**********#
%%%%%%%%%%%%%%%%%%%#%#%%%##########################***********##****#
%%%%%%%##%%%%################################**#######*************+*
%%%#############################################***#######****++====+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%##********#